<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数的返回值</title>
</head>
<body>
<h3>函数返回值</h3>
<p>
    当函数需要返回数据出去时，用return关键字
</p>
<p>
    细节： <br>
    在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用 <br>
    return 后面代码不会再被执行，会立即结束当前函数，所以 return 后面的数据不要换行写 <br>
    return函数可以没有 return，这种情况函数默认返回值为 undefined
</p>

<script>
    // 定义函数
    function fn() {
        return 20 // 函数的返回值, 注意: 返回值 不要换行
        console.log(234) // return 后面的代码不会被执行, 所以这段代码不会执行
    }

    // 把函数的返回值, 赋值变量
    let 值 = fn()
    console.log(值) // 输出控制台信息

    /* 案例: 返回一个数组的最大值和最小值 */
    // 定义函数
    function 数组筛选(数组 = []) {
        let 最大值 = 数组[0] // 定义2个变量,分别存放 最大值和最小值
        let 最小值 = 数组[0]
        // 变量数组
        for (let i = 0; i < 数组.length; i++) {
            // 最大值 判断
            if (最大值 < 数组[i]) {
                最大值 = 数组[i]
            }
            // 最小值 判断
            if (最小值 > 数组[i]) {
                最小值 = 数组[i]
            }
        }
        // 函数返回值, 是一个数组. 里面存放最大值和最小值
        return [最小值, 最大值]
    }

    // 调用函数, 同时把函数的返回值 赋值给新变量
    let 接收返回值的数组 = 数组筛选([2,4,6,8,10])
    // 输出控制台信息
    console.log(`经过筛选 数组的最大值是: ${接收返回值的数组[1]}`)
    console.log(`经过筛选 数组的最小值是: ${接收返回值的数组[0]}`)
</script>
</body>
</html>